package com.handong.handserialprogram.module.baiduoverlay;

import android.graphics.Color;
import android.os.Bundle;

//import com.baidu.mapapi.map.BaiduMap;
//import com.baidu.mapapi.map.BitmapDescriptor;
//import com.baidu.mapapi.map.BitmapDescriptorFactory;
//import com.baidu.mapapi.map.MarkerOptions;
//import com.baidu.mapapi.map.OverlayOptions;
//import com.baidu.mapapi.map.Polyline;
//import com.baidu.mapapi.map.PolylineOptions;
//import com.baidu.mapapi.model.LatLng;
//import com.baidu.mapapi.search.route.DrivingRouteLine;
import com.amap.api.maps.AMap;
import com.amap.api.maps.model.MarkerOptions;
import com.handong.handserialprogram.R;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by userKey on 2017/9/20.
 */

public class DrivingRouteOverlay extends OverlayManager {

        public DrivingRouteOverlay(AMap baiduMap, OnMarkerClick markerClick) {
        super(baiduMap, markerClick);
        //mDrivingRouteLine = routeLine;
    }
    @Override
    public List<MarkerOptions> getMarkerOptions() {
        return null;
    }

//    private static final String TAG = DrivingRouteOverlay.class.getSimpleName();
//    //private DrivingRouteLine mDrivingRouteLine;
//    private boolean mIsFocus = false;
//
//    public DrivingRouteOverlay(AMap baiduMap, DrivingRouteLine routeLine, OnMarkerClick markerClick) {
//        super(baiduMap, markerClick);
//        mDrivingRouteLine = routeLine;
//    }
//
//    public void updateRouteLine(DrivingRouteLine routeLine) {
//        mDrivingRouteLine = routeLine;
//    }
//
//    /**
//     * 画犯人和警察
//     * @return
//     */
//    @Override
//    public final List<OverlayOptions> getOverlayOptions() {
//        if (mDrivingRouteLine == null) {
//            return null;
//        }
//        List<DrivingRouteLine.DrivingStep> stepList = mDrivingRouteLine.getAllStep();
//        int stepSize = stepList.size();
//        if (stepSize == 0) {
//            return null;
//        }
//        Bundle bundle = null;
//        DrivingRouteLine.DrivingStep drivingStep = null;
//        ArrayList<OverlayOptions> overlayOptions = new ArrayList<>(stepSize + 3);
//
//        List<LatLng> points = new ArrayList<>();//经纬度点。
//        ArrayList<Integer> traffics = new ArrayList<>();//交通灯。
//        int totalTraffics = 0;
//        for (int index = 0; index < stepSize; index++) {
//            //step node
//            bundle = new Bundle();
//            drivingStep = stepList.get(index);
//            bundle.putInt("index", index);
//            if (drivingStep.getEntrance() != null) {
//                overlayOptions.add(new MarkerOptions().position(drivingStep.getEntrance().getLocation())
//                        .anchor(0.5f, 0.5f).zIndex(10).rotate(360 - drivingStep.getDirection()).extraInfo(bundle)
//                        .icon(BitmapDescriptorFactory.fromAsset("Icon_line_node.png")));
//            }
//
//            //if (index == stepSize - 1 && drivingStep.getExit() != null) {
//            //    overlayOptions.add(new MarkerOptions().position(drivingStep.getEntrance().getLocation())
//            //            .anchor(0.5f, 0.5f).zIndex(10).icon(BitmapDescriptorFactory.fromAsset("Icon_line_node.png")));
//            //}
//
//            //step line
//            List<LatLng> tempPoints = drivingStep.getWayPoints();
//            if (index == stepSize - 1) {
//                points.addAll(tempPoints);
//            } else {
//                addWayPointsNoEnd(points, tempPoints);
//            }
//
//            //道路路况。
//            totalTraffics += tempPoints.size() - 1;
//            int[] trafficArr = drivingStep.getTrafficList();
//            if (null != trafficArr) {
//                for (int i = 0; i < trafficArr.length; i++) {
//                    traffics.add(trafficArr[i]);
//                }
//            }
//        }
//        //画警察
//        if (mDrivingRouteLine.getStarting() != null) {
//            overlayOptions.add((new MarkerOptions())
//                    .position(mDrivingRouteLine.getStarting().getLocation())
//                    .icon(getStartMarkerIcon() != null ? getStartMarkerIcon() :
//                            BitmapDescriptorFactory
//                                    .fromAssetWithDpi("Icon_start.png")).zIndex(10));
//        }
//        //画犯人
//        if (mDrivingRouteLine.getTerminal() != null) {
//            overlayOptions
//                    .add((new MarkerOptions())
//                            .position(mDrivingRouteLine.getTerminal().getLocation())
//                            .icon(getTerminalMarkerIcon() != null ? getTerminalMarkerIcon() :
//                                    BitmapDescriptorFactory
//                                            .fromAssetWithDpi("Icon_end.png"))
//                            .zIndex(10));
//        }
//        boolean isDotLine = false;
//        if (traffics.size() > 0) {
//            isDotLine = true;
//        }
//        PolylineOptions options = new PolylineOptions()
//                .points(points).textureIndex(traffics)
//                .width(15).dottedLine(isDotLine).focus(true)
//                .color(getLineColor() != 0 ? getLineColor() : Color.argb(178, 0, 78, 255))
//                .zIndex(0);
//
//        if (isDotLine) {
//            options.customTextureList(getCustomTextureList());
//        }
//        overlayOptions.add(options);
//
//        return overlayOptions;
//    }
//
//    private void addWayPointsNoEnd(List<LatLng> list, List<LatLng> source) {
//        int len = source.size();
//        for (int i = 0; i < len - 1; i++) {
//            list.add(source.get(i));
//        }
//    }
//
//    protected int getLineColor() {
//        return 0;
//    }
//
//    public List<BitmapDescriptor> getCustomTextureList() {
//        ArrayList<BitmapDescriptor> list = new ArrayList<BitmapDescriptor>();
//        list.add(BitmapDescriptorFactory.fromAsset("Icon_road_blue_arrow.png"));
//        list.add(BitmapDescriptorFactory.fromAsset("Icon_road_green_arrow.png"));
//        list.add(BitmapDescriptorFactory.fromAsset("Icon_road_yellow_arrow.png"));
//        list.add(BitmapDescriptorFactory.fromAsset("Icon_road_red_arrow.png"));
//        list.add(BitmapDescriptorFactory.fromAsset("Icon_road_nofocus.png"));
//        return list;
//    }
//
//    public BitmapDescriptor getStartMarkerIcon() {
//        return BitmapDescriptorFactory.fromResource(R.drawable.map_police_normal);
//    }
//
//    public BitmapDescriptor getTerminalMarkerIcon() {
//        return BitmapDescriptorFactory.fromResource(R.drawable.map_criminal_escape);
//    }
//
//    @Override
//    public boolean onPolylineClick(Polyline polyline) {
//        return false;
//    }
//
//    @Override
//    public List<MarkerOptions> getMarkerOptions() {
//        return null;
//    }
}
